package junit; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.Iterator; import java.util.Map.Entry; import org.junit.Test; import controllers.SerializableManager; import models.Account; import models.Bank; import models.Person; import models.SpendingAccount; import models.utilities.Utilities; public class TestUnitForBank { private SerializableManager manager = new SerializableManager(); private Bank bank = new Bank(); @Test public void testAddPerson() { Person p = new Person(7, "Seven"); bank.addPerson(p); boolean flag = true; Iterator<Entry<Person, ArrayList<Account>>> iterator = bank.getContent().entrySet().iterator(); while (iterator.hasNext()) { Entry<Person, ArrayList<Account>> entry = iterator.next(); if ((entry.getKey()).equals(p)) { flag = true; break; } } assertTrue(flag); } @Test public void testDeletePerson() { bank = manager.deserializeBank(); Person p = (Person) bank.getContent().keySet().toArray()[0]; bank.deletePerson(p); assertFalse(bank.getContent().containsKey(p)); } @Test public void testAddAccountToHolder() { bank = manager.deserializeBank(); Person p = (Person) bank.getContent().keySet().toArray()[0]; Account a = new SpendingAccount(0.0, p, Utilities.getDateRandom(356), "Spending Account"); bank.addAccountToHolder(a, p); boolean flag = false; Iterator<Entry<Person, ArrayList<Account>>> iterator = bank.getContent().entrySet().iterator(); while (iterator.hasNext()) { Entry<Person, ArrayList<Account>> entry = iterator.next(); if ((entry.getKey().getId() == p.getId()) && ((entry.getKey().getName()).equals(p.getName()))) { for (int i = 0; i < entry.getValue().size(); i++) { if (a.getId() == entry.getValue().get(i).getId()) { flag = true; break; } } } } assertTrue(flag); } @Test public void testDeleteAccountToHolder() { bank = manager.deserializeBank(); Person p = (Person) bank.getContent().keySet().toArray()[0]; Account a = new SpendingAccount(0.0, p, Utilities.getDateRandom(356), "Spending Account"); bank.addAccountToHolder(a, p); bank.deleteAccountToHolder(a, p); assertFalse(bank.getContent().containsValue(a)); } }